[INFO] fetching crate lynxlang 0.1.1...
[INFO] testing lynxlang-0.1.1 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate lynxlang 0.1.1 into /workspace/builds/worker-2-tc2/source
[INFO] removed /workspace/builds/worker-2-tc2/source/rust-toolchain
[INFO] started tweaking crates.io crate lynxlang 0.1.1
[INFO] finished tweaking crates.io crate lynxlang 0.1.1
[INFO] tweaked toml for crates.io crate lynxlang 0.1.1 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate lynxlang 0.1.1 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dca2e92cbb532710cc1917230c7d9af869a844013ee632c1407d836eef9161f2
[INFO] running `Command { std: "docker" "start" "-a" "dca2e92cbb532710cc1917230c7d9af869a844013ee632c1407d836eef9161f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dca2e92cbb532710cc1917230c7d9af869a844013ee632c1407d836eef9161f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dca2e92cbb532710cc1917230c7d9af869a844013ee632c1407d836eef9161f2", kill_on_drop: false }`
[INFO] [stdout] dca2e92cbb532710cc1917230c7d9af869a844013ee632c1407d836eef9161f2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5efd8a3d5f27202cb2fd6709522519c0f43cd8422caca43ad2ee60932ea04cde
[INFO] running `Command { std: "docker" "start" "-a" "5efd8a3d5f27202cb2fd6709522519c0f43cd8422caca43ad2ee60932ea04cde", kill_on_drop: false }`
[INFO] [stderr]    Compiling lynxlang v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `array_windows` has been stable since 1.94.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | #![feature(array_windows)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/evaluator.rs:41:20
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn get_env(&self) -> RefMut<Env> {
[INFO] [stdout]    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn get_env(&self) -> RefMut<'_, Env> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lexer.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(input: &str) -> Lexer {
[INFO] [stdout]    |                       ^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(input: &str) -> Lexer<'_> {
[INFO] [stdout]    |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/object.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 25 |     Builtin(FuncType),
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/parser.rs:550:42
[INFO] [stdout]     |
[INFO] [stdout] 550 |                 hash_tuple.push((hash_key.deref().clone(), hash_value.deref().clone()));
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `ast::Expression` does not implement `Deref`, so calling `deref` on `&ast::Expression` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 550 -                 hash_tuple.push((hash_key.deref().clone(), hash_value.deref().clone()));
[INFO] [stdout] 550 +                 hash_tuple.push((hash_key.clone(), hash_value.deref().clone()));
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `ast::Expression`, implement `Clone` for it
[INFO] [stdout]    --> src/ast.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 + #[derive(Clone)]
[INFO] [stdout]  30 | pub enum Expression {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/parser.rs:550:70
[INFO] [stdout]     |
[INFO] [stdout] 550 |                 hash_tuple.push((hash_key.deref().clone(), hash_value.deref().clone()));
[INFO] [stdout]     |                                                                      ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `ast::Expression` does not implement `Deref`, so calling `deref` on `&ast::Expression` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 550 -                 hash_tuple.push((hash_key.deref().clone(), hash_value.deref().clone()));
[INFO] [stdout] 550 +                 hash_tuple.push((hash_key.deref().clone(), hash_value.clone()));
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `ast::Expression`, implement `Clone` for it
[INFO] [stdout]    --> src/ast.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 + #[derive(Clone)]
[INFO] [stdout]  30 | pub enum Expression {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:610:23
[INFO] [stdout]     |
[INFO] [stdout] 610 |     pub fn get(input: &str) -> Parser {
[INFO] [stdout]     |                       ^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 610 |     pub fn get(input: &str) -> Parser<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.87s
[INFO] running `Command { std: "docker" "inspect" "5efd8a3d5f27202cb2fd6709522519c0f43cd8422caca43ad2ee60932ea04cde", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5efd8a3d5f27202cb2fd6709522519c0f43cd8422caca43ad2ee60932ea04cde", kill_on_drop: false }`
[INFO] [stdout] 5efd8a3d5f27202cb2fd6709522519c0f43cd8422caca43ad2ee60932ea04cde
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2524b11673b3d5a5201b915c6386468a1f7bcaa1dfdd5764a92c114234a027c4
[INFO] running `Command { std: "docker" "start" "-a" "2524b11673b3d5a5201b915c6386468a1f7bcaa1dfdd5764a92c114234a027c4", kill_on_drop: false }`
[INFO] [stderr]    Compiling lynxlang v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `array_windows` has been stable since 1.94.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | #![feature(array_windows)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/evaluator.rs:41:20
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn get_env(&self) -> RefMut<Env> {
[INFO] [stdout]    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn get_env(&self) -> RefMut<'_, Env> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lexer.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(input: &str) -> Lexer {
[INFO] [stdout]    |                       ^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(input: &str) -> Lexer<'_> {
[INFO] [stdout]    |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/object.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 25 |     Builtin(FuncType),
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/parser.rs:550:42
[INFO] [stdout]     |
[INFO] [stdout] 550 |                 hash_tuple.push((hash_key.deref().clone(), hash_value.deref().clone()));
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `ast::Expression` does not implement `Deref`, so calling `deref` on `&ast::Expression` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 550 -                 hash_tuple.push((hash_key.deref().clone(), hash_value.deref().clone()));
[INFO] [stdout] 550 +                 hash_tuple.push((hash_key.clone(), hash_value.deref().clone()));
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `ast::Expression`, implement `Clone` for it
[INFO] [stdout]    --> src/ast.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 + #[derive(Clone)]
[INFO] [stdout]  30 | pub enum Expression {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/parser.rs:550:70
[INFO] [stdout]     |
[INFO] [stdout] 550 |                 hash_tuple.push((hash_key.deref().clone(), hash_value.deref().clone()));
[INFO] [stdout]     |                                                                      ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `ast::Expression` does not implement `Deref`, so calling `deref` on `&ast::Expression` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 550 -                 hash_tuple.push((hash_key.deref().clone(), hash_value.deref().clone()));
[INFO] [stdout] 550 +                 hash_tuple.push((hash_key.deref().clone(), hash_value.clone()));
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `ast::Expression`, implement `Clone` for it
[INFO] [stdout]    --> src/ast.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 + #[derive(Clone)]
[INFO] [stdout]  30 | pub enum Expression {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:610:23
[INFO] [stdout]     |
[INFO] [stdout] 610 |     pub fn get(input: &str) -> Parser {
[INFO] [stdout]     |                       ^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 610 |     pub fn get(input: &str) -> Parser<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `array_windows` has been stable since 1.94.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | #![feature(array_windows)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/evaluator.rs:41:20
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn get_env(&self) -> RefMut<Env> {
[INFO] [stdout]    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn get_env(&self) -> RefMut<'_, Env> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lexer.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(input: &str) -> Lexer {
[INFO] [stdout]    |                       ^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(input: &str) -> Lexer<'_> {
[INFO] [stdout]    |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/object.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(PartialEq, Debug, Clone)]
[INFO] [stdout]    |          --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 25 |     Builtin(FuncType),
[INFO] [stdout]    |             ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/parser.rs:550:42
[INFO] [stdout]     |
[INFO] [stdout] 550 |                 hash_tuple.push((hash_key.deref().clone(), hash_value.deref().clone()));
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `ast::Expression` does not implement `Deref`, so calling `deref` on `&ast::Expression` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 550 -                 hash_tuple.push((hash_key.deref().clone(), hash_value.deref().clone()));
[INFO] [stdout] 550 +                 hash_tuple.push((hash_key.clone(), hash_value.deref().clone()));
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `ast::Expression`, implement `Clone` for it
[INFO] [stdout]    --> src/ast.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 + #[derive(Clone)]
[INFO] [stdout]  30 | pub enum Expression {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/parser.rs:550:70
[INFO] [stdout]     |
[INFO] [stdout] 550 |                 hash_tuple.push((hash_key.deref().clone(), hash_value.deref().clone()));
[INFO] [stdout]     |                                                                      ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `ast::Expression` does not implement `Deref`, so calling `deref` on `&ast::Expression` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 550 -                 hash_tuple.push((hash_key.deref().clone(), hash_value.deref().clone()));
[INFO] [stdout] 550 +                 hash_tuple.push((hash_key.deref().clone(), hash_value.clone()));
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `ast::Expression`, implement `Clone` for it
[INFO] [stdout]    --> src/ast.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 + #[derive(Clone)]
[INFO] [stdout]  30 | pub enum Expression {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:610:23
[INFO] [stdout]     |
[INFO] [stdout] 610 |     pub fn get(input: &str) -> Parser {
[INFO] [stdout]     |                       ^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 610 |     pub fn get(input: &str) -> Parser<'_> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:653:26
[INFO] [stdout]     |
[INFO] [stdout] 653 |     fn get_parser(input: &str) -> Parser {
[INFO] [stdout]     |                          ^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 653 |     fn get_parser(input: &str) -> Parser<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.42s
[INFO] running `Command { std: "docker" "inspect" "2524b11673b3d5a5201b915c6386468a1f7bcaa1dfdd5764a92c114234a027c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2524b11673b3d5a5201b915c6386468a1f7bcaa1dfdd5764a92c114234a027c4", kill_on_drop: false }`
[INFO] [stdout] 2524b11673b3d5a5201b915c6386468a1f7bcaa1dfdd5764a92c114234a027c4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] cd38602fdae26ac28b6408264a729531611070a2a6fe3ff40236a28a3652b67c
[INFO] running `Command { std: "docker" "start" "-a" "cd38602fdae26ac28b6408264a729531611070a2a6fe3ff40236a28a3652b67c", kill_on_drop: false }`
[INFO] [stderr] warning: the feature `array_windows` has been stable since 1.94.0 and no longer requires an attribute to enable
[INFO] [stderr]   --> src/lib.rs:80:12
[INFO] [stderr]    |
[INFO] [stderr] 80 | #![feature(array_windows)]
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(stable_features)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/evaluator.rs:41:20
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub fn get_env(&self) -> RefMut<Env> {
[INFO] [stderr]    |                    ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                    |
[INFO] [stderr]    |                    the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub fn get_env(&self) -> RefMut<'_, Env> {
[INFO] [stderr]    |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/lexer.rs:18:23
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn new(input: &str) -> Lexer {
[INFO] [stderr]    |                       ^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn new(input: &str) -> Lexer<'_> {
[INFO] [stderr]    |                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]   --> src/object.rs:25:13
[INFO] [stderr]    |
[INFO] [stderr] 15 | #[derive(PartialEq, Debug, Clone)]
[INFO] [stderr]    |          --------- in this derive macro expansion
[INFO] [stderr] ...
[INFO] [stderr] 25 |     Builtin(FuncType),
[INFO] [stderr]    |             ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: the address of the same function can vary between different codegen units
[INFO] [stderr]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/parser.rs:550:42
[INFO] [stderr]     |
[INFO] [stderr] 550 |                 hash_tuple.push((hash_key.deref().clone(), hash_value.deref().clone()));
[INFO] [stderr]     |                                          ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `ast::Expression` does not implement `Deref`, so calling `deref` on `&ast::Expression` copies the reference, which does not do anything and can be removed
[INFO] [stderr]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 550 -                 hash_tuple.push((hash_key.deref().clone(), hash_value.deref().clone()));
[INFO] [stderr] 550 +                 hash_tuple.push((hash_key.clone(), hash_value.deref().clone()));
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `ast::Expression`, implement `Clone` for it
[INFO] [stderr]    --> src/ast.rs:29:1
[INFO] [stderr]     |
[INFO] [stderr]  29 + #[derive(Clone)]
[INFO] [stderr]  30 | pub enum Expression {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.deref()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/parser.rs:550:70
[INFO] [stderr]     |
[INFO] [stderr] 550 |                 hash_tuple.push((hash_key.deref().clone(), hash_value.deref().clone()));
[INFO] [stderr]     |                                                                      ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `ast::Expression` does not implement `Deref`, so calling `deref` on `&ast::Expression` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 550 -                 hash_tuple.push((hash_key.deref().clone(), hash_value.deref().clone()));
[INFO] [stderr] 550 +                 hash_tuple.push((hash_key.deref().clone(), hash_value.clone()));
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `ast::Expression`, implement `Clone` for it
[INFO] [stderr]    --> src/ast.rs:29:1
[INFO] [stderr]     |
[INFO] [stderr]  29 + #[derive(Clone)]
[INFO] [stderr]  30 | pub enum Expression {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/parser.rs:610:23
[INFO] [stderr]     |
[INFO] [stderr] 610 |     pub fn get(input: &str) -> Parser {
[INFO] [stderr]     |                       ^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 610 |     pub fn get(input: &str) -> Parser<'_> {
[INFO] [stderr]     |                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `lynxlang` (lib) generated 7 warnings (run `cargo fix --lib -p lynxlang` to apply 5 suggestions)
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/parser.rs:653:26
[INFO] [stderr]     |
[INFO] [stderr] 653 |     fn get_parser(input: &str) -> Parser {
[INFO] [stderr]     |                          ^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 653 |     fn get_parser(input: &str) -> Parser<'_> {
[INFO] [stderr]     |                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `lynxlang` (lib test) generated 8 warnings (7 duplicates) (run `cargo fix --lib -p lynxlang --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lynxlang-58d5424f96c996c0)
[INFO] [stdout] 
[INFO] [stdout] running 54 tests
[INFO] [stdout] test evaluator::unit_test::eval_array_expression ... ok
[INFO] [stdout] test evaluator::unit_test::eval_build_ins ... ok
[INFO] [stdout] test evaluator::unit_test::eval_grouped_expression ... ok
[INFO] [stdout] test evaluator::unit_test::eval_fibonacci_fn ... ok
[INFO] [stdout] test evaluator::unit_test::eval_identifier ... ok
[INFO] [stdout] test evaluator::unit_test::eval_fn_call_expression ... ok
[INFO] [stdout] test evaluator::unit_test::eval_hash_expression ... ok
[INFO] [stdout] test evaluator::unit_test::eval_integer ... ok
[INFO] [stdout] test evaluator::unit_test::eval_fn_expression ... ok
[INFO] [stdout] test evaluator::unit_test::eval_prefix_expression ... ok
[INFO] [stdout] test lexer::unit_test::tokenize_arithmetic_operators ... ok
[INFO] [stdout] test evaluator::unit_test::eval_let_fn_expression ... ok
[INFO] [stdout] test evaluator::unit_test::eval_return_statement ... ok
[INFO] [stdout] test evaluator::unit_test::eval_boolean ... ok
[INFO] [stdout] test evaluator::unit_test::eval_let_statement ... ok
[INFO] [stdout] test evaluator::unit_test::eval_while_expression ... ok
[INFO] [stdout] test lexer::unit_test::tokenize_boolean_logical_operator ... ok
[INFO] [stdout] test lexer::unit_test::tokenize_build_in_function ... ok
[INFO] [stdout] test lexer::unit_test::tokenize_basic_data_types ... ok
[INFO] [stdout] test lexer::unit_test::tokenize_arr_type ... ok
[INFO] [stdout] test lexer::unit_test::tokenize_fn ... ok
[INFO] [stdout] test lexer::unit_test::tokenize_fibonacci ... ok
[INFO] [stdout] test evaluator::unit_test::eval_if_expression ... ok
[INFO] [stdout] test evaluator::unit_test::eval_string ... ok
[INFO] [stdout] test evaluator::unit_test::eval_infix_expression ... ok
[INFO] [stdout] test evaluator::unit_test::eval_let_fn_call_expression ... ok
[INFO] [stdout] test parser::unit_test::check_precedence ... ok
[INFO] [stdout] test lexer::unit_test::tokenize_comparison_operator ... ok
[INFO] [stdout] test lexer::unit_test::tokenize_return ... ok
[INFO] [stdout] test lexer::unit_test::tokenize_foc_if ... ok
[INFO] [stdout] test parser::unit_test::parse_array_expression ... ok
[INFO] [stdout] test parser::unit_test::parse_infix_expression ... ok
[INFO] [stdout] test parser::unit_test::parse_integer_expression ... ok
[INFO] [stdout] test lexer::unit_test::tokenize_unary_operators ... ok
[INFO] [stdout] test parser::unit_test::parse_let_infix_expression ... ok
[INFO] [stdout] test lexer::unit_test::tokenize_foc_while ... ok
[INFO] [stdout] test parser::unit_test::parse_let_statement ... ok
[INFO] [stdout] test parser::unit_test::parse_if_expression ... ok
[INFO] [stdout] test parser::unit_test::parse_return_statement ... ok
[INFO] [stdout] test parser::unit_test::parse_let_fn_expression ... ok
[INFO] [stdout] test parser::unit_test::parse_hash_expression ... ok
[INFO] [stdout] test parser::unit_test::parse_while_expression ... ok
[INFO] [stdout] test parser::unit_test::parse_prefix_expression ... ok
[INFO] [stdout] test parser::unit_test::parse_grouped_expression ... ok
[INFO] [stdout] test parser::unit_test::parse_fn_expression ... ok
[INFO] [stdout] test parser::unit_test::parse_boolean_expression ... ok
[INFO] [stdout] test parser::unit_test::parse_fibonacci ... ok
[INFO] [stdout] test parser::unit_test::parse_builtin_expression ... ok
[INFO] [stdout] test parser::unit_test::parse_fn_call_expression ... ok
[INFO] [stdout] test parser::unit_test::parse_string_expression ... ok
[INFO] [stderr]      Running tests/test.rs (/opt/rustwide/target/debug/deps/test-4b28d658128e082f)
[INFO] [stdout] test parser::unit_test::parse_program ... ok
[INFO] [stdout] test parser::unit_test::parse_while_break_expression ... ok
[INFO] [stdout] test lexer::unit_test::tokenize_hash_type ... ok
[INFO] [stdout] test lexer::unit_test::tokenize_program ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test integration_test::eval_lynx_program ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests lynxlang
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "cd38602fdae26ac28b6408264a729531611070a2a6fe3ff40236a28a3652b67c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cd38602fdae26ac28b6408264a729531611070a2a6fe3ff40236a28a3652b67c", kill_on_drop: false }`
[INFO] [stdout] cd38602fdae26ac28b6408264a729531611070a2a6fe3ff40236a28a3652b67c
